// Generated from ./tsl_MR.g4 by ANTLR 4.7.3-SNAPSHOT


import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener";

import { TslContext } from "./tsl_MRParser";
import { ParametersStatementContext } from "./tsl_MRParser";
import { EnvironmentStatementContext } from "./tsl_MRParser";
import { OutputStatementContext } from "./tsl_MRParser";
import { ColonContext } from "./tsl_MRParser";
import { ParagraphStatementContext } from "./tsl_MRParser";
import { OutparagraphStatementContext } from "./tsl_MRParser";
import { LineStatementContext } from "./tsl_MRParser";
import { VariantContext } from "./tsl_MRParser";
import { DataTypesContext } from "./tsl_MRParser";
import { CompareContext } from "./tsl_MRParser";
import { ComparisonOperatorContext } from "./tsl_MRParser";
import { ExpressionContext } from "./tsl_MRParser";
import { ExpContext } from "./tsl_MRParser";
import { ConstraintContext } from "./tsl_MRParser";
import { IfStatementContext } from "./tsl_MRParser";
import { PropertyStatementContext } from "./tsl_MRParser";
import { ErrorStatementContext } from "./tsl_MRParser";
import { SingleStatementContext } from "./tsl_MRParser";
import { MrStatContext } from "./tsl_MRParser";
import { SpecContext } from "./tsl_MRParser";
import { IteNumbersContext } from "./tsl_MRParser";
import { IteSuiteContext } from "./tsl_MRParser";
import { IteRateContext } from "./tsl_MRParser";
import { MrStatementContext } from "./tsl_MRParser";
import { MrContext } from "./tsl_MRParser";
import { InputContext } from "./tsl_MRParser";
import { OutputContext } from "./tsl_MRParser";
import { InContext } from "./tsl_MRParser";
import { InFollowContext } from "./tsl_MRParser";
import { OutContext } from "./tsl_MRParser";
import { OutFollowContext } from "./tsl_MRParser";
import { RelationContext } from "./tsl_MRParser";
import { Encoding_declContext } from "./tsl_MRParser";


/**
 * This interface defines a complete listener for a parse tree produced by
 * `tsl_MRParser`.
 */
export interface tsl_MRListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by `tsl_MRParser.tsl`.
	 * @param ctx the parse tree
	 */
	enterTsl?: (ctx: TslContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.tsl`.
	 * @param ctx the parse tree
	 */
	exitTsl?: (ctx: TslContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.parametersStatement`.
	 * @param ctx the parse tree
	 */
	enterParametersStatement?: (ctx: ParametersStatementContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.parametersStatement`.
	 * @param ctx the parse tree
	 */
	exitParametersStatement?: (ctx: ParametersStatementContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.environmentStatement`.
	 * @param ctx the parse tree
	 */
	enterEnvironmentStatement?: (ctx: EnvironmentStatementContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.environmentStatement`.
	 * @param ctx the parse tree
	 */
	exitEnvironmentStatement?: (ctx: EnvironmentStatementContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.outputStatement`.
	 * @param ctx the parse tree
	 */
	enterOutputStatement?: (ctx: OutputStatementContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.outputStatement`.
	 * @param ctx the parse tree
	 */
	exitOutputStatement?: (ctx: OutputStatementContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.colon`.
	 * @param ctx the parse tree
	 */
	enterColon?: (ctx: ColonContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.colon`.
	 * @param ctx the parse tree
	 */
	exitColon?: (ctx: ColonContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.paragraphStatement`.
	 * @param ctx the parse tree
	 */
	enterParagraphStatement?: (ctx: ParagraphStatementContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.paragraphStatement`.
	 * @param ctx the parse tree
	 */
	exitParagraphStatement?: (ctx: ParagraphStatementContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.outparagraphStatement`.
	 * @param ctx the parse tree
	 */
	enterOutparagraphStatement?: (ctx: OutparagraphStatementContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.outparagraphStatement`.
	 * @param ctx the parse tree
	 */
	exitOutparagraphStatement?: (ctx: OutparagraphStatementContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.lineStatement`.
	 * @param ctx the parse tree
	 */
	enterLineStatement?: (ctx: LineStatementContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.lineStatement`.
	 * @param ctx the parse tree
	 */
	exitLineStatement?: (ctx: LineStatementContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.variant`.
	 * @param ctx the parse tree
	 */
	enterVariant?: (ctx: VariantContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.variant`.
	 * @param ctx the parse tree
	 */
	exitVariant?: (ctx: VariantContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.dataTypes`.
	 * @param ctx the parse tree
	 */
	enterDataTypes?: (ctx: DataTypesContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.dataTypes`.
	 * @param ctx the parse tree
	 */
	exitDataTypes?: (ctx: DataTypesContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.compare`.
	 * @param ctx the parse tree
	 */
	enterCompare?: (ctx: CompareContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.compare`.
	 * @param ctx the parse tree
	 */
	exitCompare?: (ctx: CompareContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.comparisonOperator`.
	 * @param ctx the parse tree
	 */
	enterComparisonOperator?: (ctx: ComparisonOperatorContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.comparisonOperator`.
	 * @param ctx the parse tree
	 */
	exitComparisonOperator?: (ctx: ComparisonOperatorContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.expression`.
	 * @param ctx the parse tree
	 */
	enterExpression?: (ctx: ExpressionContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.expression`.
	 * @param ctx the parse tree
	 */
	exitExpression?: (ctx: ExpressionContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.exp`.
	 * @param ctx the parse tree
	 */
	enterExp?: (ctx: ExpContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.exp`.
	 * @param ctx the parse tree
	 */
	exitExp?: (ctx: ExpContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.constraint`.
	 * @param ctx the parse tree
	 */
	enterConstraint?: (ctx: ConstraintContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.constraint`.
	 * @param ctx the parse tree
	 */
	exitConstraint?: (ctx: ConstraintContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.ifStatement`.
	 * @param ctx the parse tree
	 */
	enterIfStatement?: (ctx: IfStatementContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.ifStatement`.
	 * @param ctx the parse tree
	 */
	exitIfStatement?: (ctx: IfStatementContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.propertyStatement`.
	 * @param ctx the parse tree
	 */
	enterPropertyStatement?: (ctx: PropertyStatementContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.propertyStatement`.
	 * @param ctx the parse tree
	 */
	exitPropertyStatement?: (ctx: PropertyStatementContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.errorStatement`.
	 * @param ctx the parse tree
	 */
	enterErrorStatement?: (ctx: ErrorStatementContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.errorStatement`.
	 * @param ctx the parse tree
	 */
	exitErrorStatement?: (ctx: ErrorStatementContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.singleStatement`.
	 * @param ctx the parse tree
	 */
	enterSingleStatement?: (ctx: SingleStatementContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.singleStatement`.
	 * @param ctx the parse tree
	 */
	exitSingleStatement?: (ctx: SingleStatementContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.mrStat`.
	 * @param ctx the parse tree
	 */
	enterMrStat?: (ctx: MrStatContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.mrStat`.
	 * @param ctx the parse tree
	 */
	exitMrStat?: (ctx: MrStatContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.spec`.
	 * @param ctx the parse tree
	 */
	enterSpec?: (ctx: SpecContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.spec`.
	 * @param ctx the parse tree
	 */
	exitSpec?: (ctx: SpecContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.iteNumbers`.
	 * @param ctx the parse tree
	 */
	enterIteNumbers?: (ctx: IteNumbersContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.iteNumbers`.
	 * @param ctx the parse tree
	 */
	exitIteNumbers?: (ctx: IteNumbersContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.iteSuite`.
	 * @param ctx the parse tree
	 */
	enterIteSuite?: (ctx: IteSuiteContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.iteSuite`.
	 * @param ctx the parse tree
	 */
	exitIteSuite?: (ctx: IteSuiteContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.iteRate`.
	 * @param ctx the parse tree
	 */
	enterIteRate?: (ctx: IteRateContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.iteRate`.
	 * @param ctx the parse tree
	 */
	exitIteRate?: (ctx: IteRateContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.mrStatement`.
	 * @param ctx the parse tree
	 */
	enterMrStatement?: (ctx: MrStatementContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.mrStatement`.
	 * @param ctx the parse tree
	 */
	exitMrStatement?: (ctx: MrStatementContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.mr`.
	 * @param ctx the parse tree
	 */
	enterMr?: (ctx: MrContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.mr`.
	 * @param ctx the parse tree
	 */
	exitMr?: (ctx: MrContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.input`.
	 * @param ctx the parse tree
	 */
	enterInput?: (ctx: InputContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.input`.
	 * @param ctx the parse tree
	 */
	exitInput?: (ctx: InputContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.output`.
	 * @param ctx the parse tree
	 */
	enterOutput?: (ctx: OutputContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.output`.
	 * @param ctx the parse tree
	 */
	exitOutput?: (ctx: OutputContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.in`.
	 * @param ctx the parse tree
	 */
	enterIn?: (ctx: InContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.in`.
	 * @param ctx the parse tree
	 */
	exitIn?: (ctx: InContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.inFollow`.
	 * @param ctx the parse tree
	 */
	enterInFollow?: (ctx: InFollowContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.inFollow`.
	 * @param ctx the parse tree
	 */
	exitInFollow?: (ctx: InFollowContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.out`.
	 * @param ctx the parse tree
	 */
	enterOut?: (ctx: OutContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.out`.
	 * @param ctx the parse tree
	 */
	exitOut?: (ctx: OutContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.outFollow`.
	 * @param ctx the parse tree
	 */
	enterOutFollow?: (ctx: OutFollowContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.outFollow`.
	 * @param ctx the parse tree
	 */
	exitOutFollow?: (ctx: OutFollowContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.relation`.
	 * @param ctx the parse tree
	 */
	enterRelation?: (ctx: RelationContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.relation`.
	 * @param ctx the parse tree
	 */
	exitRelation?: (ctx: RelationContext) => void;

	/**
	 * Enter a parse tree produced by `tsl_MRParser.encoding_decl`.
	 * @param ctx the parse tree
	 */
	enterEncoding_decl?: (ctx: Encoding_declContext) => void;
	/**
	 * Exit a parse tree produced by `tsl_MRParser.encoding_decl`.
	 * @param ctx the parse tree
	 */
	exitEncoding_decl?: (ctx: Encoding_declContext) => void;
}

